.weather-forecast {
  padding: 20px;
  display: flex;
  box-sizing: border-box;
  // 左右共用，不要移动层级
  .forecast-time {
    // 字体思源黑体 Medium, 14px, rgba(255,255,255,0.6)
    font-family: SourceHanSansSC, sans-serif;
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 0.8px;
    text-align: left;
    font-style: normal;
    text-transform: none;
    margin-bottom: 10px;
  }
  .left-wrap{
    width: 27%;
    height: 100%;
    .weather-section {
      display: flex;
      align-items: center;
      .weather-icon {
        // 位置 44px 298px, 大小 46px 46px
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        cursor: pointer;
        transition: all 0.3s ease;
        margin-right: 8px;
        margin-top: 3px;
        &:hover {
          transform: scale(1.1);
          filter: brightness(1.2);
        }
        &:active {
          transform: scale(1.05);
        }
      }
      .weather-type {
        // 字体思源黑体 Bold, 20px, #FFFFFF
        font-family: SourceHanSansSC, sans-serif;
        font-weight: bold;
        font-size: 20px;
        line-height: 26px;
        text-align: center;
        font-style: normal;
        text-transform: none;
        // 渐变背景: #FFFFFF -> #81C6FF
        -webkit-background-clip: text;
        background-clip: text;
        transition: all 0.3s ease;
      }
    }
  }
  .right-wrap{
    width: 73%;
    .temperature-section{
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      .width-90{
        width: 140px;
        .temp-label{
          width: 56px;
          text-align: right;
        }
        .temp-value{
          width: calc(100% - 61px);
        }
      }
      .width-60{
        width: 80px;
      }
      .t-width{
        width: 100px;
      }
      .width-60, .t-width{
        .temp-label{
          width: 30px;
          text-align: right;
        }
        .temp-value{
          width: calc(100% - 35px);
        }
      }
      .section-item{
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 5px;
        .temp-label{
          font-size: 14px;
          margin-right: 5px;
        }
        .temp-value {

          // 字体DIN Alternate Bold, 16px, #1AD7FF
          font-family: DINAlternate, sans-serif;
          font-weight: bold;
          font-size: 16px;
          line-height: 18px;
          letter-spacing: 0.4px;
          text-align: center;
          justify-content: space-between;
          font-style: normal;
          // 渐变背景: #FFFFFF -> #81C6FF
          -webkit-background-clip: text;
          background-clip: text;
          transition: all 0.3s ease;
          white-space: nowrap;
          //opacity: 0.65;
          background: linear-gradient( 90deg, rgba(52,165,255,0) 0%, rgba(52,165,255,0.39) 27%, rgba(52,165,255,0.45) 51%, rgba(52,165,255,0.35) 79%, rgba(0,139,255,0) 100%)!important;
          >span{
            font-size: 16px;
          }
        }
      }
    }
  }
  // 时间标题行
  .time-headers {
    display: flex;
    align-items: center;
    margin-bottom: 18px;


    .current-time {
      margin-left: 20px;
      width: 116px;
      height: 16px;
      // 字体思源黑体 Medium, 14px, rgba(255,255,255,0.6)
      font-family: SourceHanSansSC, sans-serif;
      font-weight: 500;
      font-size: 14px;
      line-height: 16px;
      letter-spacing: 0.8px;
      text-align: left;
      font-style: normal;
      text-transform: none;
    }
  }

  // 主要信息行
  .main-info {
    position: relative;
    display: flex;
    align-items: center;
    margin-bottom: 10px;



    //.temperature-section {
    //  background: #00d4ff;
    //  display: flex;
    //  flex-wrap: wrap;
    //  align-items: center;
    //  gap: 20px;
    //
    //  .temp-group,
    //  .feels-like-group,
    //  .humidity-group {
    //    display: flex;
    //    align-items: center;
    //    gap: 9px;
    //
    //    .temp-label,
    //    .feels-like-label,
    //    .humidity-label {
    //      // 字体思源黑体 Normal, 14px, #FFFFFF
    //      font-family: SourceHanSansSC, sans-serif;
    //      font-weight: 400;
    //      font-size: 14px;
    //      line-height: 18px;
    //      text-align: center;
    //      font-style: normal;
    //      white-space: nowrap;
    //    }
    //
    //    .temp-value,
    //    .feels-like-value,
    //    .humidity-value {
    //      // 字体DIN Alternate Bold, 16px, #1AD7FF
    //      font-family: DINAlternate, sans-serif;
    //      font-weight: bold;
    //      font-size: 16px;
    //      line-height: 18px;
    //      letter-spacing: 0.4px;
    //      text-align: center;
    //      font-style: normal;
    //      // 渐变背景: #FFFFFF -> #81C6FF
    //      -webkit-background-clip: text;
    //      background-clip: text;
    //      transition: all 0.3s ease;
    //      white-space: nowrap;
    //    }
    //  }
    //
    //  .temp-group {
    //    // 温度: 位置 164px 298px
    //    .temp-label {
    //      width: 28px;
    //      height: 18px;
    //    }
    //    .temp-value {
    //      width: 44px;
    //      height: 18px;
    //    }
    //  }
    //
    //  .feels-like-group {
    //    // 体感温度: 位置 274px 298px
    //    .feels-like-label {
    //      width: 56px;
    //      height: 18px;
    //      text-align: right;
    //    }
    //    .feels-like-value {
    //      width: 44px;
    //      height: 18px;
    //    }
    //  }
    //
    //  .humidity-group {
    //    // 湿度: 位置 422px 298px
    //    .humidity-label {
    //      width: 28px;
    //      height: 18px;
    //    }
    //    .humidity-value {
    //      width: 26px;
    //      height: 18px;
    //    }
    //  }
    //}
  }

  // 底部信息行
  .bottom-info {
    display: flex;
    align-items: center;
   background: #00d4ff;

    .pressure-group {
      display: flex;
      align-items: center;

      .pressure-label {
        width: 28px;
        height: 18px;
        // 字体思源黑体 Normal, 14px, #FFFFFF
        font-family: SourceHanSansSC, sans-serif;
        font-weight: 400;
        font-size: 14px;
        line-height: 18px;
        text-align: right;
        font-style: normal;
      }

      .pressure-value {
        width: 60px;
        height: 18px;
        // 字体DIN Alternate Bold, 16px, #1AD7FF
        font-family: DINAlternate, sans-serif;
        font-weight: bold;
        font-size: 16px;
        line-height: 18px;
        letter-spacing: 0.4px;
        text-align: center;
        font-style: normal;
        // 渐变背景: #FFFFFF -> #81C6FF
        -webkit-background-clip: text;
        background-clip: text;
        transition: all 0.3s ease;
      }
    }

    .wind-group {
      // 风向风力: 位置 302px 326px
      position: absolute;
      left: 258px;
      top: 0;
      display: flex;
      align-items: center;
      gap: 9px;

      .wind-direction-label {
        width: 28px;
        height: 18px;
        // 字体思源黑体 Normal, 14px, #FFFFFF
        font-family: SourceHanSansSC, sans-serif;
        font-weight: 400;
        font-size: 14px;
        line-height: 18px;
        text-align: center;
        font-style: normal;
      }

      .wind-direction-value {
        width: 70px;
        height: 18px;
        // 字体思源黑体 Medium, 14px, #1AD7FF
        font-family: SourceHanSansSC, sans-serif;
        font-weight: 500;
        font-size: 14px;
        line-height: 18px;
        text-align: center;
        font-style: normal;
        // 渐变背景: #FFFFFF -> #81C6FF
        -webkit-background-clip: text;
        background-clip: text;
        transition: all 0.3s ease;
      }

      .wind-level-label {
        width: 28px;
        height: 18px;
        // 字体思源黑体 Normal, 14px, #FFFFFF
        font-family: SourceHanSansSC, sans-serif;
        font-weight: 400;
        font-size: 14px;
        line-height: 18px;
        text-align: right;
        font-style: normal;
        margin-left: 11px;
      }

      .wind-level-value {
        width: 22px;
        height: 18px;
        // 字体思源黑体 Medium, 14px, #1AD7FF
        font-family: SourceHanSansSC, sans-serif;
        font-weight: 500;
        font-size: 14px;
        line-height: 18px;
        text-align: center;
        font-style: normal;
        // 渐变背景: #FFFFFF -> #81C6FF
        -webkit-background-clip: text;
        background-clip: text;
        transition: all 0.3s ease;
      }
    }
  }

  // 悬停效果
  &:hover {
    .weather-type,
    .temp-value,
    .feels-like-value,
    .humidity-value,
    .pressure-value,
    .wind-direction-value,
    .wind-level-value {
      filter: brightness(1.2);
      text-shadow: 0 2px 8px rgba(26, 215, 255, 0.5);
    }
  }

  // 主题样式
  &.dark {
    // 默认深色主题
  }

  &.light {
    .forecast-time,
    .current-time {
      color: rgba(0, 0, 0, 0.6) !important;
    }

    .temp-label,
    .feels-like-label,
    .humidity-label,
    .pressure-label,
    .wind-direction-label,
    .wind-level-label {
      color: rgba(0, 0, 0, 0.8) !important;
    }

    .weather-type {
      color: rgba(0, 0, 0, 0.9) !important;
    }

    .temp-value,
    .feels-like-value,
    .humidity-value,
    .pressure-value,
    .wind-direction-value,
    .wind-level-value {
      color: #007ACC !important;
      background: linear-gradient(90deg, #007ACC 0%, #4A90E2 100%) !important;
      -webkit-background-clip: text !important;
      background-clip: text !important;
    }
  }

  // 响应式设计
  @media (max-width: 768px) {
    .time-headers {
      flex-direction: column;
      align-items: flex-start;
      gap: 4px;
      margin-bottom: 12px;

      .forecast-time,
      .current-time {
        position: relative;
        left: 0;
        top: auto;
        font-size: 12px;
      }
    }

    .main-info {
      .weather-section {
        .weather-icon {
          width: 36px !important;
          height: 36px !important;
          margin-right: 6px;
        }

        .weather-type {
          font-size: 16px;
          width: 32px;
        }
      }

      .temperature-section {
        left: 80px;
        gap: 15px;

        .temp-group,
        .feels-like-group,
        .humidity-group {
          gap: 6px;

          .temp-label,
          .feels-like-label,
          .humidity-label {
            font-size: 12px;
          }

          .temp-value,
          .feels-like-value,
          .humidity-value {
            font-size: 14px;
          }
        }

        .feels-like-group .feels-like-label {
          width: 48px;
        }
      }
    }

    .bottom-info {
      gap: 20px;

      .pressure-group {
        left: 80px;
        gap: 6px;

        .pressure-label {
          font-size: 12px;
        }

        .pressure-value {
          font-size: 14px;
          width: 50px;
        }
      }

      .wind-group {
        left: 180px;
        gap: 6px;

        .wind-direction-label,
        .wind-level-label {
          font-size: 12px;
        }

        .wind-direction-value,
        .wind-level-value {
          font-size: 12px;
        }

        .wind-direction-value {
          width: 60px;
        }

        .wind-level-label {
          margin-left: 8px;
        }
      }
    }
  }

  @media (max-width: 480px) {
    padding: 2px 0;

    .time-headers {
      margin-bottom: 8px;

      .forecast-time,
      .current-time {
        font-size: 10px;
      }
    }

    .main-info {
      .weather-section {
        .weather-icon {
          width: 30px !important;
          height: 30px !important;
          margin-right: 4px;
        }

        .weather-type {
          font-size: 14px;
          width: 28px;
        }
      }

      .temperature-section {
        left: 65px;
        gap: 10px;

        .temp-group,
        .feels-like-group,
        .humidity-group {
          gap: 4px;

          .temp-label,
          .feels-like-label,
          .humidity-label {
            font-size: 10px;
          }

          .temp-value,
          .feels-like-value,
          .humidity-value {
            font-size: 12px;
          }
        }

        .feels-like-group .feels-like-label {
          width: 40px;
        }
      }
    }

    .bottom-info {
      gap: 15px;

      .pressure-group {
        left: 65px;
        gap: 4px;

        .pressure-label {
          font-size: 10px;
        }

        .pressure-value {
          font-size: 12px;
          width: 45px;
        }
      }

      .wind-group {
        left: 150px;
        gap: 4px;

        .wind-direction-label,
        .wind-level-label {
          font-size: 10px;
        }

        .wind-direction-value,
        .wind-level-value {
          font-size: 10px;
        }

        .wind-direction-value {
          width: 50px;
        }

        .wind-level-label {
          margin-left: 6px;
        }
      }
    }
  }

  // 焦点可访问性
  &:focus-within {
    outline: 2px solid rgba(26, 215, 255, 0.5);
    outline-offset: 2px;
  }

  .weather-icon:focus {
    outline: 2px solid rgba(26, 215, 255, 0.8);
    outline-offset: 2px;
  }

  // 高对比度模式
  @media (prefers-contrast: high) {
    .weather-type,
    .temp-value,
    .feels-like-value,
    .humidity-value,
    .pressure-value,
    .wind-direction-value,
    .wind-level-value {
      font-weight: bold !important;
      text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8) !important;
    }

    .temp-label,
    .feels-like-label,
    .humidity-label,
    .pressure-label,
    .wind-direction-label,
    .wind-level-label {
      font-weight: 600 !important;
    }
  }

  // 减少动画
  @media (prefers-reduced-motion: reduce) {
    .weather-icon,
    .weather-type,
    .temp-value,
    .feels-like-value,
    .humidity-value,
    .pressure-value,
    .wind-direction-value,
    .wind-level-value {
      transition: none !important;
      transform: none !important;
    }

    .weather-icon:hover {
      transform: none !important;
    }
  }

  // 加载状态
  &.loading {
    opacity: 0.7;
    pointer-events: none;

    .weather-icon,
    .weather-type,
    .temp-value,
    .feels-like-value,
    .humidity-value,
    .pressure-value,
    .wind-direction-value,
    .wind-level-value {
      animation: pulse 1.5s ease-in-out infinite;
    }

    &::after {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      width: 16px;
      height: 16px;
      margin: -8px 0 0 -8px;
      border: 2px solid rgba(255, 255, 255, 0.3);
      border-top-color: #1AD7FF;
      border-radius: 50%;
      animation: spin 1s linear infinite;
      z-index: 10;
    }
  }

  @keyframes pulse {
    0%, 100% {
      opacity: 0.6;
    }
    50% {
      opacity: 1;
    }
  }

  @keyframes spin {
    to {
      transform: rotate(360deg);
    }
  }

  // 错误状态
  &.error {
    .weather-icon,
    .weather-type,
    .temp-value,
    .feels-like-value,
    .humidity-value,
    .pressure-value,
    .wind-direction-value,
    .wind-level-value {
      filter: grayscale(1) opacity(0.5);
    }

    &::before {
      content: '天气数据异常';
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      background: rgba(255, 0, 0, 0.9);
      color: white;
      padding: 4px 8px;
      border-radius: 4px;
      font-size: 12px;
      font-weight: 500;
      z-index: 15;
    }
  }

  // 数据更新动画
  &.updating {
    .temp-value,
    .feels-like-value,
    .humidity-value,
    .pressure-value,
    .wind-direction-value,
    .wind-level-value {
      animation: dataUpdate 0.5s ease-in-out;
    }
  }

  @keyframes dataUpdate {
    0%, 100% {
      transform: scale(1);
    }
    50% {
      transform: scale(1.05);
      filter: brightness(1.3);
    }
  }
}
